/*
* 命名空间: Authority.Model
*
* 功 能： SysMenu实体类
*
* 类 名： SysMenuEntity
*
* Version   变更日期            负责人     变更内容
* ─────────────────────────────────────────────────
* V1.0.1    2019/09/27 14:26:13 罗维     创建
*
* Copyright (c) 2019 Lir Corporation. All rights reserved.
*/

namespace Authority.Model
{
    using System;
    using Tool.Model;

    /// <summary>
    /// 菜单信息表
    /// </summary>
    [Serializable]
    [DBTableInfo(TableName = "SysMenu")]
    public class SysMenuEntity
    {

        /// <summary>
        /// 唯一标识符
        /// </summary>
        [DBFieldInfo(ByteLength = 32,DataLength = 32,DecimalDigits = 0,ColumnName = "gCode",Required = true,DefaultValue = "",IsPrimarykey = true)]
        public string gCode
        {
            get; set;
        }

        /// <summary>
        /// 父节点唯一标识符
        /// </summary>
        [DBFieldInfo(ByteLength = 32,DataLength = 32,DecimalDigits = 0,ColumnName = "gParentCode",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string gParentCode
        {
            get; set;
        }

        /// <summary>
        /// 菜单名称
        /// </summary>
        [DBFieldInfo(ByteLength = 40,DataLength = 20,DecimalDigits = 0,ColumnName = "sName",Required = true,DefaultValue = "",IsPrimarykey = false)]
        public string sName
        {
            get; set;
        }

        /// <summary>
        /// 级别
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "iLevel",Required = false,DefaultValue = "((10))",IsPrimarykey = false)]
        public int? iLevel
        {
            get; set;
        }

        /// <summary>
        /// icon
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "sIconFont",Required = true,DefaultValue = "",IsPrimarykey = false)]
        public string sIconFont
        {
            get; set;
        }

        /// <summary>
        /// 
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "sTarget",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string sTarget
        {
            get; set;
        }

        /// <summary>
        /// 链接
        /// </summary>
        [DBFieldInfo(ByteLength = 510,DataLength = 255,DecimalDigits = 0,ColumnName = "sUrl",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string sUrl
        {
            get; set;
        }

        /// <summary>
        /// 排序
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "iSort",Required = true,DefaultValue = "",IsPrimarykey = false)]
        public int iSort
        {
            get; set;
        }

        /// <summary>
        /// 是否启用 0不启用 1启用
        /// </summary>
        [DBFieldInfo(ByteLength = 1,DataLength = 1,DecimalDigits = 0,ColumnName = "bIsEnabled",Required = false,DefaultValue = "((1))",IsPrimarykey = false)]
        public bool bIsEnabled
        {
            get; set;
        }

        /// <summary>
        /// 是否被逻辑删除
        /// </summary>
        [DBFieldInfo(ByteLength = 1,DataLength = 1,DecimalDigits = 0,ColumnName = "bIsDeleted",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public bool bIsDeleted
        {
            get; set;
        }

        /// <summary>
        /// 是否展开
        /// </summary>
        [DBFieldInfo(ByteLength = 1,DataLength = 1,DecimalDigits = 0,ColumnName = "bIsSpread",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public bool bIsSpread
        {
            get; set;
        }

        /// <summary>
        ///菜单类型 0平台菜单 1公司菜单
        /// </summary>
        [DBFieldInfo(ByteLength = 4, DataLength = 10, DecimalDigits = 0, ColumnName = "iType", Required = true, DefaultValue = "((0))", IsPrimarykey = false)]
        public int iType
        {
            get; set;
        }
    }
}
